package com.ruoyi.cms.service;


import com.github.pagehelper.PageInfo;
import com.ruoyi.cms.domain.Archives;
import com.ruoyi.cms.domain.ArchivesWithRownum;
import com.ruoyi.cms.domain.vo.ArchivesVO;
import com.ruoyi.cms.exception.TransactionException;
import com.ruoyi.cms.util.SearchEntity;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;

import java.util.List;
import java.util.Map;

public interface ArchivesService {

	int save(Archives archives, String tableName, Map<String,Object> additional) throws TransactionException;

	TableDataInfo<Archives> queryListByPage(Archives params, PageQuery pageQuery);

    PageInfo<Map<String, Object>> queryListByPage(SearchEntity params);

	List<Archives> queryListByTagName(String tagName);

	int saveAdditional(String tableName, Map<String, Object> params) throws TransactionException ;

	Map<String, Object> queryArticleById(Map<String, Object> params);

	int update(Archives archives,String tableName, Map<String,Object> additional,String fid) throws TransactionException ;

	int updateAdditional(String tableName, Map<String, Object> additional,String fid) throws TransactionException ;

	int delete(String id,Map<String,Object> params) throws TransactionException;

	int deleteAdditional(Map<String, Object> params) throws TransactionException;

	int updateTagById(Archives article) ;

	Archives selectByPrimaryKey(String id);

	TableDataInfo<ArchivesVO> queryListByKeywords(Archives params, PageQuery pageQuery);

	ArchivesWithRownum queryArticleRowNum(Map<String, Object> params);

	List<Archives> queryListByTop();

	int update(Archives archives);

	List<Archives> queryAll(String id);

}
